/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Estacionamento.Negocio;

import Estacionamento.ClassesBasicas.Cliente;
import Estacionamento.ClassesBasicas.Plano;
import Estacionamento.DAOEspecifico.DAOPlano;
import java.util.List;
import javax.swing.JOptionPane;

/**
 *
 * @author Italo Valença
 */
public class PlanoNegocio {

    private String tipoPlano;

    public void cadastrarPlano(Plano plano) throws Exception {
        DAOPlano info = new DAOPlano();
        List<Plano> planos = info.listar();
        String tipoCadastrado = null;
        for (int i = 0; i < planos.size(); i++) {
            if (planos.get(i).getTipoPlano().trim().equals(plano.getTipoPlano())) {
                tipoCadastrado = planos.get(i).getTipoPlano();
                JOptionPane.showMessageDialog(null, "PLANO já existente: " + planos.get(i).getTipoPlano());
            }
        }
        if (tipoCadastrado == null) {
            info.cadastrar(plano);
            JOptionPane.showMessageDialog(null, "PLANO cadastrado com sucesso: " + plano.getTipoPlano());
        }
    }

    public Plano listarPlano(String tipo) throws Exception {
        DAOPlano info = new DAOPlano();
        Plano plano = new Plano();
        List<Plano> planos = info.listar();

        for (int i = 0; i < planos.size(); i++) {
            if (planos.get(i).getTipoPlano().equals(tipo)) {
                plano = planos.get(i);
            }

        }

        return plano;
    }

    public List<Plano> listarTodosPlanos() throws Exception {
        DAOPlano info = new DAOPlano();
        List<Plano> plano = info.listar();
        return plano;
    }

    public void excluirPlano(Plano plano) throws Exception {
        DAOPlano info = new DAOPlano();
        Plano excPlano = this.listarPlano(plano.getTipoPlano());
        if (excPlano != null) {
            info.excluir(plano);
            JOptionPane.showMessageDialog(null, "PLANO " + excPlano.getTipoPlano() + " excluído com sucesso");
        } else {
            JOptionPane.showMessageDialog(null, "PLANO não cadastrado");
        }
    }

    public void alterarPlano(Plano plano) throws Exception {
        DAOPlano info = new DAOPlano();
        info.alterar(plano);
        JOptionPane.showMessageDialog(null, "Plano alterado com sucesso!");
    }
    /*
     public List<Plano> listarPlanoporCliente(Cliente cli) throws Exception {
     DAOPlano info = new DAOPlano();
     return info.ListarPlanoPorCliente(cli);
     }*/
}
